package com.example.demo.enity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class UserInfoExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public UserInfoExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andUidIsNull() {
            addCriterion("Uid is null");
            return (Criteria) this;
        }

        public Criteria andUidIsNotNull() {
            addCriterion("Uid is not null");
            return (Criteria) this;
        }

        public Criteria andUidEqualTo(Integer value) {
            addCriterion("Uid =", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidNotEqualTo(Integer value) {
            addCriterion("Uid <>", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidGreaterThan(Integer value) {
            addCriterion("Uid >", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidGreaterThanOrEqualTo(Integer value) {
            addCriterion("Uid >=", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidLessThan(Integer value) {
            addCriterion("Uid <", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidLessThanOrEqualTo(Integer value) {
            addCriterion("Uid <=", value, "uid");
            return (Criteria) this;
        }

        public Criteria andUidIn(List<Integer> values) {
            addCriterion("Uid in", values, "uid");
            return (Criteria) this;
        }

        public Criteria andUidNotIn(List<Integer> values) {
            addCriterion("Uid not in", values, "uid");
            return (Criteria) this;
        }

        public Criteria andUidBetween(Integer value1, Integer value2) {
            addCriterion("Uid between", value1, value2, "uid");
            return (Criteria) this;
        }

        public Criteria andUidNotBetween(Integer value1, Integer value2) {
            addCriterion("Uid not between", value1, value2, "uid");
            return (Criteria) this;
        }

        public Criteria andUtelIsNull() {
            addCriterion("Utel is null");
            return (Criteria) this;
        }

        public Criteria andUtelIsNotNull() {
            addCriterion("Utel is not null");
            return (Criteria) this;
        }

        public Criteria andUtelEqualTo(String value) {
            addCriterion("Utel =", value, "utel");
            return (Criteria) this;
        }

        public Criteria andUtelNotEqualTo(String value) {
            addCriterion("Utel <>", value, "utel");
            return (Criteria) this;
        }

        public Criteria andUtelGreaterThan(String value) {
            addCriterion("Utel >", value, "utel");
            return (Criteria) this;
        }

        public Criteria andUtelGreaterThanOrEqualTo(String value) {
            addCriterion("Utel >=", value, "utel");
            return (Criteria) this;
        }

        public Criteria andUtelLessThan(String value) {
            addCriterion("Utel <", value, "utel");
            return (Criteria) this;
        }

        public Criteria andUtelLessThanOrEqualTo(String value) {
            addCriterion("Utel <=", value, "utel");
            return (Criteria) this;
        }

        public Criteria andUtelLike(String value) {
            addCriterion("Utel like", value, "utel");
            return (Criteria) this;
        }

        public Criteria andUtelNotLike(String value) {
            addCriterion("Utel not like", value, "utel");
            return (Criteria) this;
        }

        public Criteria andUtelIn(List<String> values) {
            addCriterion("Utel in", values, "utel");
            return (Criteria) this;
        }

        public Criteria andUtelNotIn(List<String> values) {
            addCriterion("Utel not in", values, "utel");
            return (Criteria) this;
        }

        public Criteria andUtelBetween(String value1, String value2) {
            addCriterion("Utel between", value1, value2, "utel");
            return (Criteria) this;
        }

        public Criteria andUtelNotBetween(String value1, String value2) {
            addCriterion("Utel not between", value1, value2, "utel");
            return (Criteria) this;
        }

        public Criteria andUnameIsNull() {
            addCriterion("Uname is null");
            return (Criteria) this;
        }

        public Criteria andUnameIsNotNull() {
            addCriterion("Uname is not null");
            return (Criteria) this;
        }

        public Criteria andUnameEqualTo(String value) {
            addCriterion("Uname =", value, "uname");
            return (Criteria) this;
        }

        public Criteria andUnameNotEqualTo(String value) {
            addCriterion("Uname <>", value, "uname");
            return (Criteria) this;
        }

        public Criteria andUnameGreaterThan(String value) {
            addCriterion("Uname >", value, "uname");
            return (Criteria) this;
        }

        public Criteria andUnameGreaterThanOrEqualTo(String value) {
            addCriterion("Uname >=", value, "uname");
            return (Criteria) this;
        }

        public Criteria andUnameLessThan(String value) {
            addCriterion("Uname <", value, "uname");
            return (Criteria) this;
        }

        public Criteria andUnameLessThanOrEqualTo(String value) {
            addCriterion("Uname <=", value, "uname");
            return (Criteria) this;
        }

        public Criteria andUnameLike(String value) {
            addCriterion("Uname like", value, "uname");
            return (Criteria) this;
        }

        public Criteria andUnameNotLike(String value) {
            addCriterion("Uname not like", value, "uname");
            return (Criteria) this;
        }

        public Criteria andUnameIn(List<String> values) {
            addCriterion("Uname in", values, "uname");
            return (Criteria) this;
        }

        public Criteria andUnameNotIn(List<String> values) {
            addCriterion("Uname not in", values, "uname");
            return (Criteria) this;
        }

        public Criteria andUnameBetween(String value1, String value2) {
            addCriterion("Uname between", value1, value2, "uname");
            return (Criteria) this;
        }

        public Criteria andUnameNotBetween(String value1, String value2) {
            addCriterion("Uname not between", value1, value2, "uname");
            return (Criteria) this;
        }

        public Criteria andUpasswordIsNull() {
            addCriterion("Upassword is null");
            return (Criteria) this;
        }

        public Criteria andUpasswordIsNotNull() {
            addCriterion("Upassword is not null");
            return (Criteria) this;
        }

        public Criteria andUpasswordEqualTo(String value) {
            addCriterion("Upassword =", value, "upassword");
            return (Criteria) this;
        }

        public Criteria andUpasswordNotEqualTo(String value) {
            addCriterion("Upassword <>", value, "upassword");
            return (Criteria) this;
        }

        public Criteria andUpasswordGreaterThan(String value) {
            addCriterion("Upassword >", value, "upassword");
            return (Criteria) this;
        }

        public Criteria andUpasswordGreaterThanOrEqualTo(String value) {
            addCriterion("Upassword >=", value, "upassword");
            return (Criteria) this;
        }

        public Criteria andUpasswordLessThan(String value) {
            addCriterion("Upassword <", value, "upassword");
            return (Criteria) this;
        }

        public Criteria andUpasswordLessThanOrEqualTo(String value) {
            addCriterion("Upassword <=", value, "upassword");
            return (Criteria) this;
        }

        public Criteria andUpasswordLike(String value) {
            addCriterion("Upassword like", value, "upassword");
            return (Criteria) this;
        }

        public Criteria andUpasswordNotLike(String value) {
            addCriterion("Upassword not like", value, "upassword");
            return (Criteria) this;
        }

        public Criteria andUpasswordIn(List<String> values) {
            addCriterion("Upassword in", values, "upassword");
            return (Criteria) this;
        }

        public Criteria andUpasswordNotIn(List<String> values) {
            addCriterion("Upassword not in", values, "upassword");
            return (Criteria) this;
        }

        public Criteria andUpasswordBetween(String value1, String value2) {
            addCriterion("Upassword between", value1, value2, "upassword");
            return (Criteria) this;
        }

        public Criteria andUpasswordNotBetween(String value1, String value2) {
            addCriterion("Upassword not between", value1, value2, "upassword");
            return (Criteria) this;
        }

        public Criteria andUlockedIsNull() {
            addCriterion("Ulocked is null");
            return (Criteria) this;
        }

        public Criteria andUlockedIsNotNull() {
            addCriterion("Ulocked is not null");
            return (Criteria) this;
        }

        public Criteria andUlockedEqualTo(Boolean value) {
            addCriterion("Ulocked =", value, "ulocked");
            return (Criteria) this;
        }

        public Criteria andUlockedNotEqualTo(Boolean value) {
            addCriterion("Ulocked <>", value, "ulocked");
            return (Criteria) this;
        }

        public Criteria andUlockedGreaterThan(Boolean value) {
            addCriterion("Ulocked >", value, "ulocked");
            return (Criteria) this;
        }

        public Criteria andUlockedGreaterThanOrEqualTo(Boolean value) {
            addCriterion("Ulocked >=", value, "ulocked");
            return (Criteria) this;
        }

        public Criteria andUlockedLessThan(Boolean value) {
            addCriterion("Ulocked <", value, "ulocked");
            return (Criteria) this;
        }

        public Criteria andUlockedLessThanOrEqualTo(Boolean value) {
            addCriterion("Ulocked <=", value, "ulocked");
            return (Criteria) this;
        }

        public Criteria andUlockedIn(List<Boolean> values) {
            addCriterion("Ulocked in", values, "ulocked");
            return (Criteria) this;
        }

        public Criteria andUlockedNotIn(List<Boolean> values) {
            addCriterion("Ulocked not in", values, "ulocked");
            return (Criteria) this;
        }

        public Criteria andUlockedBetween(Boolean value1, Boolean value2) {
            addCriterion("Ulocked between", value1, value2, "ulocked");
            return (Criteria) this;
        }

        public Criteria andUlockedNotBetween(Boolean value1, Boolean value2) {
            addCriterion("Ulocked not between", value1, value2, "ulocked");
            return (Criteria) this;
        }

        public Criteria andDiquIsNull() {
            addCriterion("Diqu is null");
            return (Criteria) this;
        }

        public Criteria andDiquIsNotNull() {
            addCriterion("Diqu is not null");
            return (Criteria) this;
        }

        public Criteria andDiquEqualTo(String value) {
            addCriterion("Diqu =", value, "diqu");
            return (Criteria) this;
        }

        public Criteria andDiquNotEqualTo(String value) {
            addCriterion("Diqu <>", value, "diqu");
            return (Criteria) this;
        }

        public Criteria andDiquGreaterThan(String value) {
            addCriterion("Diqu >", value, "diqu");
            return (Criteria) this;
        }

        public Criteria andDiquGreaterThanOrEqualTo(String value) {
            addCriterion("Diqu >=", value, "diqu");
            return (Criteria) this;
        }

        public Criteria andDiquLessThan(String value) {
            addCriterion("Diqu <", value, "diqu");
            return (Criteria) this;
        }

        public Criteria andDiquLessThanOrEqualTo(String value) {
            addCriterion("Diqu <=", value, "diqu");
            return (Criteria) this;
        }

        public Criteria andDiquLike(String value) {
            addCriterion("Diqu like", value, "diqu");
            return (Criteria) this;
        }

        public Criteria andDiquNotLike(String value) {
            addCriterion("Diqu not like", value, "diqu");
            return (Criteria) this;
        }

        public Criteria andDiquIn(List<String> values) {
            addCriterion("Diqu in", values, "diqu");
            return (Criteria) this;
        }

        public Criteria andDiquNotIn(List<String> values) {
            addCriterion("Diqu not in", values, "diqu");
            return (Criteria) this;
        }

        public Criteria andDiquBetween(String value1, String value2) {
            addCriterion("Diqu between", value1, value2, "diqu");
            return (Criteria) this;
        }

        public Criteria andDiquNotBetween(String value1, String value2) {
            addCriterion("Diqu not between", value1, value2, "diqu");
            return (Criteria) this;
        }

        public Criteria andFcountIsNull() {
            addCriterion("Fcount is null");
            return (Criteria) this;
        }

        public Criteria andFcountIsNotNull() {
            addCriterion("Fcount is not null");
            return (Criteria) this;
        }

        public Criteria andFcountEqualTo(Integer value) {
            addCriterion("Fcount =", value, "fcount");
            return (Criteria) this;
        }

        public Criteria andFcountNotEqualTo(Integer value) {
            addCriterion("Fcount <>", value, "fcount");
            return (Criteria) this;
        }

        public Criteria andFcountGreaterThan(Integer value) {
            addCriterion("Fcount >", value, "fcount");
            return (Criteria) this;
        }

        public Criteria andFcountGreaterThanOrEqualTo(Integer value) {
            addCriterion("Fcount >=", value, "fcount");
            return (Criteria) this;
        }

        public Criteria andFcountLessThan(Integer value) {
            addCriterion("Fcount <", value, "fcount");
            return (Criteria) this;
        }

        public Criteria andFcountLessThanOrEqualTo(Integer value) {
            addCriterion("Fcount <=", value, "fcount");
            return (Criteria) this;
        }

        public Criteria andFcountIn(List<Integer> values) {
            addCriterion("Fcount in", values, "fcount");
            return (Criteria) this;
        }

        public Criteria andFcountNotIn(List<Integer> values) {
            addCriterion("Fcount not in", values, "fcount");
            return (Criteria) this;
        }

        public Criteria andFcountBetween(Integer value1, Integer value2) {
            addCriterion("Fcount between", value1, value2, "fcount");
            return (Criteria) this;
        }

        public Criteria andFcountNotBetween(Integer value1, Integer value2) {
            addCriterion("Fcount not between", value1, value2, "fcount");
            return (Criteria) this;
        }

        public Criteria andUenableIsNull() {
            addCriterion("Uenable is null");
            return (Criteria) this;
        }

        public Criteria andUenableIsNotNull() {
            addCriterion("Uenable is not null");
            return (Criteria) this;
        }

        public Criteria andUenableEqualTo(Boolean value) {
            addCriterion("Uenable =", value, "uenable");
            return (Criteria) this;
        }

        public Criteria andUenableNotEqualTo(Boolean value) {
            addCriterion("Uenable <>", value, "uenable");
            return (Criteria) this;
        }

        public Criteria andUenableGreaterThan(Boolean value) {
            addCriterion("Uenable >", value, "uenable");
            return (Criteria) this;
        }

        public Criteria andUenableGreaterThanOrEqualTo(Boolean value) {
            addCriterion("Uenable >=", value, "uenable");
            return (Criteria) this;
        }

        public Criteria andUenableLessThan(Boolean value) {
            addCriterion("Uenable <", value, "uenable");
            return (Criteria) this;
        }

        public Criteria andUenableLessThanOrEqualTo(Boolean value) {
            addCriterion("Uenable <=", value, "uenable");
            return (Criteria) this;
        }

        public Criteria andUenableIn(List<Boolean> values) {
            addCriterion("Uenable in", values, "uenable");
            return (Criteria) this;
        }

        public Criteria andUenableNotIn(List<Boolean> values) {
            addCriterion("Uenable not in", values, "uenable");
            return (Criteria) this;
        }

        public Criteria andUenableBetween(Boolean value1, Boolean value2) {
            addCriterion("Uenable between", value1, value2, "uenable");
            return (Criteria) this;
        }

        public Criteria andUenableNotBetween(Boolean value1, Boolean value2) {
            addCriterion("Uenable not between", value1, value2, "uenable");
            return (Criteria) this;
        }

        public Criteria andTimeIsNull() {
            addCriterion("time is null");
            return (Criteria) this;
        }

        public Criteria andTimeIsNotNull() {
            addCriterion("time is not null");
            return (Criteria) this;
        }

        public Criteria andTimeEqualTo(Date value) {
            addCriterion("time =", value, "time");
            return (Criteria) this;
        }

        public Criteria andTimeNotEqualTo(Date value) {
            addCriterion("time <>", value, "time");
            return (Criteria) this;
        }

        public Criteria andTimeGreaterThan(Date value) {
            addCriterion("time >", value, "time");
            return (Criteria) this;
        }

        public Criteria andTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("time >=", value, "time");
            return (Criteria) this;
        }

        public Criteria andTimeLessThan(Date value) {
            addCriterion("time <", value, "time");
            return (Criteria) this;
        }

        public Criteria andTimeLessThanOrEqualTo(Date value) {
            addCriterion("time <=", value, "time");
            return (Criteria) this;
        }

        public Criteria andTimeIn(List<Date> values) {
            addCriterion("time in", values, "time");
            return (Criteria) this;
        }

        public Criteria andTimeNotIn(List<Date> values) {
            addCriterion("time not in", values, "time");
            return (Criteria) this;
        }

        public Criteria andTimeBetween(Date value1, Date value2) {
            addCriterion("time between", value1, value2, "time");
            return (Criteria) this;
        }

        public Criteria andTimeNotBetween(Date value1, Date value2) {
            addCriterion("time not between", value1, value2, "time");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}